Cloud storage provides in a convenient way a sharing of files for users and enables collaborations between users working on the shared files. Conventional cloud storage platforms have the principle of a centralized file ownership: A file is owned by a single user who then unilaterally decides all access requests to “his” file. However collaborations that could benefit from cloud storage are in most cases not suited for such a centralized ownership.
For example when considering a scenario where a number of research organizations would like to set up a repository to collaborate on a joint research project. A cloud would be a conventional solution to host this repository. If all participants contribute their research efforts to the joint research project, then they may also want to share the ownership over the collaborative data so that all ownership and access decisions are agreed upon among the owners. One of the advantages of such a shared ownership is that for example a sole owner cannot abuse the given trust by ignoring other owners and unilaterally making decisions. This advantage is even more important since users tend to increasingly store most or all of their data in the cloud storage without keeping local copies.
Even if owners are willing to choose and trust one of them with unilateral decision rights this trusted user may not want to be held accountable for collecting and correctly evaluating the access policies of other owners: For example, incorrect evaluations may incur negative reputation, financial penalties, or the like. If this is the case no user would like to become the accountable party.
Apart from the above collaboration considerations further aspects are the correct enforcement of individual access policies set by the respective file owners as well as the security against adversaries. In particular security means on the one hand that an adversary is not enabled to gain access to shared content for which he has not granted access to and on the other hand to prevent access to a shared content from users who have corresponding access rights.
Conventional authorization logics—for example shown in the non patent literature of M. Y. Becker, C. Fournet, and A. D. Gordon, “SecPAL: Design and Semantics of a Decentralized Authorization Language”, in Journal of Computer Security (JCS), pages 597-643, 2010 rely on the presence of designated policy decision point components for evaluation of access policies. For a Datalog-based language such as SecPAL the policy decision points can be based on a generic Datalog interpreter. However these policy decisions points cannot be deployed within a third-party cloud system. Another disadvantage is that such distributed authorization languages assume a centralized ownership of resources and as such they rely on an administrator user to define and modify the access policies.
Conventional enforcement methods which are for example based on Attribute-Based Encryption as mentioned in the non patent literature of V. Goyal, O. Pandey, A. Sahai, and B. Waters, “Attribute-based encryption for fine-grained access control of encrypted data”, in Proceedings of the 13th ACM conference on Computer and communications security, pages 89-98, 2006 or in the non-patent literature of A. Sahai and B. Waters, “Fuzzy Identity-Based Encryption”, in EUROCRYPT, pages 457-473, 2005 as well as based on the so-called multi-authority attribute based encryption as mentioned for example in the non-patent literature of M. Chase “Multi-authority attribute based encryption”, in Proceedings of the 4th conference on Theory of cryptography, pages 515-534, 2007 all require a single ownership of a file and as such the owner can always unilaterally decide to delete a file or to reencrypt a file by unilaterally changing corresponding thresholds. The decentralized attribute based encryption provide shares of a secret being blinded with shares of 0 such that if a user collects enough shares for the identity the blinding parameters can be cancelled out and the secret can be reconstructed. However a malicious holder of shares can compute additional delegations of the share to any other user.